home *** CD-ROM | disk | FTP | other *** search
- /*
- File: ADBPlugin.h
-
- Version: Technology:
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __ADBPLUGIN__
- #define __ADBPLUGIN__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __ADB__
- #include <ADB.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=power
- /* the following contents can only be used by compilers that support PowerPC struct alignment */
-
- #if FOR_SYSTEM8_PREEMPTIVE
- /*
- ------------------------------------------------------------------------------------
- Calls exported by the Family
- ------------------------------------------------------------------------------------
- */
- extern void ADBFamRequestComplete(OSStatus theStatus);
-
- extern void ADBFamAutopollArrived(Byte deviceAddress, const ADBRegisterContents *contents);
-
- /*
- ------------------------------------------------------------------------------------
- Plugin Dispatch Table
- ------------------------------------------------------------------------------------
- */
- typedef OSStatus (*ADBPluginInitProc)(void );
- typedef OSStatus (*ADBPluginSetAutopollDelayProc)(Duration delay);
- typedef OSStatus (*ADBPluginGetAutopollDelayProc)(Duration *delay);
- typedef OSStatus (*ADBPluginSetAutopollListProc)(UInt16 addressMask);
- typedef OSStatus (*ADBPluginGetAutopollListProc)(UInt16 *addressMask);
- typedef OSStatus (*ADBPluginAutopollEnableProc)(void );
- typedef OSStatus (*ADBPluginAutopollDisableProc)(void );
- typedef OSStatus (*ADBPluginResetBusProc)(void );
- typedef OSStatus (*ADBPluginFlushProc)(Byte deviceAddress);
- typedef OSStatus (*ADBPluginSetRegisterProc)(Byte deviceAddress, Byte registerNumber, const ADBRegisterContents *contents);
- typedef OSStatus (*ADBPluginGetRegisterProc)(Byte deviceAddress, Byte registerNumber, ADBRegisterContents *contents);
- typedef OSStatus (*ADBPluginSetKeyboardListProc)(UInt16 addressMask);
-
- enum {
- kADBPluginVersion = 0x44332211,
- kADBPluginCurrentVersion = kADBPluginVersion
- };
-
- struct ADBPluginHeader {
- UInt32 version;
- UInt32 reserved1;
- UInt32 reserved2;
- UInt32 reserved3;
- };
- typedef struct ADBPluginHeader ADBPluginHeader;
-
- struct ADBPluginDispatchTable {
- ADBPluginHeader header;
- ADBPluginInitProc Init;
- ADBPluginSetAutopollDelayProc SetAutopollDelay;
- ADBPluginGetAutopollDelayProc GetAutopollDelay;
- ADBPluginSetAutopollListProc SetAutopollList;
- ADBPluginGetAutopollListProc GetAutopollList;
- ADBPluginAutopollEnableProc AutopollEnable;
- ADBPluginAutopollDisableProc AutopollDisable;
- ADBPluginResetBusProc ResetBus;
- ADBPluginFlushProc Flush;
- ADBPluginSetRegisterProc SetRegister;
- ADBPluginGetRegisterProc GetRegister;
- ADBPluginSetKeyboardListProc SetKeyboardList;
- };
- typedef struct ADBPluginDispatchTable ADBPluginDispatchTable;
-
- #endif
-
- #pragma options align=reset
- #endif /* PRAGMA_ALIGN_SUPPORTED */
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __ADBPLUGIN__ */
-
-